#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+5;
struct node{
    int s,gj;
} a[maxn];
int n,m,cnt;
int r[maxn],t[maxn];
int main()
{
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>r[i];
        t[r[i]]++;
    } 
    for(int i=1;i<=100000;i++)
        if(t[i]>0)
        {
            a[++cnt].s=t[i];
            a[cnt].gj=t[i];
        }
    int i=1,j=2;
    // cout<<cnt<<endl;
    // for(int i=1;i<=cnt;i++)
    //     cout<<a[i].s<<" ";
    while(i<j&&j<=cnt)
    {
        while(a[i].s>=a[j].gj&&j<=cnt)
        {
            a[i].s-=a[j].gj;
            a[j].gj=0;
            j++;
        }
        if(j>cnt) goto wjy;
        if(a[i].s==0)
        {
            i++;
            if(i==j)
                j++;
        } 
        if(a[i].s<a[j].gj)
        {
            a[j].gj-=a[i].s;
            a[i].s=0;  
            i++;
            if(i==j)
                j++;
        }
    }
    wjy:;
    int ans=0;
    for(int i=1;i<=cnt;i++)
        ans+=a[i].s;
    cout<<ans<<endl;
    return 0;
}

// 10
// 136 136 136 2417 136 136 2417 136 136 136
